iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 16
0
Software Development

iOS APP開發學習筆記 系列 第 16

DAY16 UIGestureRecognizer

  • 分享至 

  • xImage
  •  

今天來介紹一下iOS中相當方便的一個功能:手勢。
分別為Tap 輕點、LongPress 長按、Swipe 滑動、Pan 拖曳、Pinch 縮放及Rotation 旋轉。

Tap

首先在viewdidload()中加入以下程式碼

let tap = UITapGestureRecognizer(target: self, action: #selector(self.tap))
tap.numberOfTapsRequired = 1
tap.numberOfTouchesRequired = 1
self.views.addGestureRecognizer(tap)
  • action為觸發此手勢後的method
  • numberOfTapsRequired表示點擊的次數,故此處為點擊一下觸發
  • numberOfTouchesRequired為幾指點擊,故此處為單指點擊
  • self.views.addGestureRecognizer(tap)為將這個手勢加到views中

LongPress

在viewdidload()中加入以下程式碼

let longpress = UILongPressGestureRecognizer(target: self, action: #selector(self.longpress))
self.views.addGestureRecognizer(longpress)

在長按後會觸發一個method

func longpress(recognizer:UILongPressGestureRecognizer){
    if recognizer.state == .began{
        self.views.labelS.text = "長按開始"
    }else if recognizer.state == .ended{
        self.views.labelS.text = "長按結束"
    }
}

Swipe

在viewdidload()中加入以下程式碼

let swipeUp = UISwipeGestureRecognizer(target: self, action: #selector(VC.swipe))
swipeUp.direction = .up
self.myUIView.addGestureRecognizer(swipeUp)
  • direction為滑動的方向可選擇.up.down.right.left

在觸發的method swipe中會有一個傳入值UISwipeGestureRecognizer也會有一個參數direction可以來確認滑動之方向。

Pan

在viewdidload()中加入以下程式碼

let pan = UIPanGestureRecognizer(target: self, action: #selector(VC.pan))
pan.minimumNumberOfTouches = 1
pan.maximumNumberOfTouches = 1
self.myUIView.addGestureRecognizer(pan)
  • minimumNumberOfTouches:最少能用幾指拖曳
  • maximumNumberOfTouches:最多能用幾指拖曳

在觸發的method pan中會有一個傳入值UIPanGestureRecognizer會有一個參數.location可以來確認拖曳的位置。

Pinch

在viewdidload()中加入以下程式碼

let pinch = UIPinchGestureRecognizer(target: self, action: #selector(VC.pinch))
self.views.addGestureRecognizer(pinch)

在觸發的method pan中傳入值UIPanGestureRecognizer的參數:

  • .state:縮放的狀態,有.changed.began.ended
  • .scale:縮放的比例

Rotation

在viewdidload()中加入以下程式碼

let rotation = UIRotationGestureRecognizer(target: self, action: #selector(VC.rotation))
self.views.addGestureRecognizer(rotation)

在觸發的method pan中傳入值UIPanGestureRecognizer的參數rotation為旋轉的弧度。


上一篇
DAY15 TabbarController
下一篇
DAY17 UserDefaults
系列文
iOS APP開發學習筆記 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言